package io;
import java.io.*;

public class FileFilterTest 
{
	public static void main(String args[])
	{		
		String dirName="e:\\javawork";
		System.out.println("list files and directorys end with .class in dir: "+dirName);

		File dir=new File(dirName);		
		//Filter filter=new Filter("class");//filter为过滤器，限制文件的扩展名为class
		//String files[]=dir.list(filter);//列出目录下所有匹配过滤器的文件并储存到字符串数组files[]中
		String files[]=dir.list(new Filter("class"));
		for(int i=0;i<files.length;i++)
		{
			File f=new File(dir,files[i]);
			if(f.isFile())
				System.out.println("File："+files[i]);
			else
				System.out.println("Directory: "+files[i]);
		}
	}
}

class Filter implements FilenameFilter
{
	String extend;
	Filter(String extend)
	{
		this.extend=extend;
	}
	
	public boolean accept(File dir,String name)
	{
		return name.endsWith("."+extend);
		/*
		 * endsWith
			public boolean endsWith(String suffix):测试此字符串是否以指定
			的后缀结束。 
			参数：suffix - 后缀。 
			返回：如果该参数表示的字符序列是此对象表示的字符序列的后缀，则返回
			true；否则返回 false。注意，如果该参数是空字符串或等于由
			equals(Object) 方法确定的 String 对象，则结果为 true。
		 */
	}
}
